package com.zhiche.lisa.bms.dao.model.fee;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 应付账款
 * </p>
 *
 * @author liuanshun
 * @since 2019-02-18
 */
@TableName("lisa_fee_payable")
public class FeePayable extends Model<FeePayable> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 指令号
     */
    @TableField("order_code")
    private String orderCode;
    /**
     * 订单号明细ID
     */
    @TableField("order_dtl_id")
    private Long orderDtlId;
    /**
     * 费用类型ID
     */
    @TableField("type_id")
    private Long typeId;
    /**
     * 费用名称( 保留同步过来的原始费用 )
     */
    @TableField("type_name")
    private String typeName;
    /**
     * 车型编码ID
     */
    @TableField("vehicle_classify_id")
    private String vehicleClassifyId;
    /**
     * 车型编码
     */
    @TableField("vehicle_type_code")
    private String vehicleTypeCode;
    /**
     * OTM运单号
     */
    @TableField("waybill_id")
    private String waybillId;
    /**
     * OTM运单号明细
     */
    @TableField("waybill_dtl_id")
    private String waybillDtlId;
    /**
     * 客户运单号
     */
    @TableField("cus_waybill")
    private String cusWaybill;
    /**
     * 客户订单号
     */
    @TableField("cus_order_no")
    private String cusOrderNo;
    /**
     * 车牌号
     */
    @TableField("vehicle_type_name")
    private String vehicleTypeName;
    /**
     * 车架
     */
    private String vin;
    /**
     * 起运地
     */
    @TableField("start_addr")
    private String startAddr;
    /**
     * 起运省
     */
    @TableField("start_province")
    private String startProvince;
    /**
     * 起运市
     */
    @TableField("start_city")
    private String startCity;
    /**
     * 起运区
     */
    @TableField("start_county")
    private String startCounty;
    /**
     * 起运名称
     */
    @TableField("start_name")
    private String startName;
    /**
     * 目的省
     */
    @TableField("end_province")
    private String endProvince;
    /**
     * 目的市
     */
    @TableField("end_city")
    private String endCity;
    /**
     * 目的区
     */
    @TableField("end_county")
    private String endCounty;
    /**
     * 目的地
     */
    @TableField("end_addr")
    private String endAddr;
    /**
     * 目的名称
     */
    @TableField("end_name")
    private String endName;
    /**
     * 合同类型
     */
    @TableField("contract_type")
    private String contractType;
    /**
     * 合同编码
     */
    @TableField("contract_code")
    private String contractCode;
    /**
     * 报价单id
     */
    @TableField("quote_id")
    private Long quoteId;
    /**
     * 付款方ID
     */
    @TableField("payer_id")
    private Long payerId;
    /**
     * 付款方名称
     */
    @TableField("payer_name")
    private String payerName;
    /**
     * 分供方ID
     */
    @TableField("payee_id")
    private Long payeeId;
    /**
     * 分供方名称
     */
    @TableField("payee_name")
    private String payeeName;
    /**
     * 主体业务
     */
    private String ciamsId;
    /**
     * 司机id
     */
    @TableField("driver_id")
    private Long driverId;
    /**
     * 司机名称
     */
    @TableField("driver_name")
    private String driverName;
    /**
     * 车队id
     */
    @TableField("fleet_id")
    private Long fleetId;
    /**
     * 车队名称
     */
    @TableField("fleet_name")
    private String fleetName;
    /**
     * 预估单价
     */
    @TableField("est_price")
    private BigDecimal estPrice;
    /**
     * 单价
     */
    @TableField("actual_price")
    private BigDecimal actualPrice;
    /**
     * 公里数
     */
    private BigDecimal kilometre;
    /**
     * 数量
     */
    private Integer num;
    /**
     * 预估金额
     */
    @TableField("est_amt")
    private BigDecimal estAmt;
    /**
     * 结算金额( 总金额 )
     */
    @TableField("actual_amt")
    private BigDecimal actualAmt;
    /**
     * 尾款油卡金额
     */
    @TableField("oil_ba_pay")
    private BigDecimal oilBaPay;
    /**
     * 尾款现金金额
     */
    @TableField("cash_ba_pay")
    private BigDecimal cashBaPay;
    /**
     * 扣款金额
     */
    private BigDecimal deduct;
    /**
     * 运输方式 id
     */
    @TableField("trans_type_id")
    private Long transTypeId;
    /**
     * 运输方式名称
     */
    @TableField("trans_type_name")
    private String transTypeName;
    /**
     * 油补费用
     */
    @TableField("oil_fill")
    private BigDecimal oilFill;
    /**
     * 人送备注; 匹配的线路id;规则名称
     */
    @TableField("psup_remark")
    private String psupRemark;
    /**
     * 人送其他费用id
     */
    @TableField("sd_other_expensise_ids")
    private String sdOtherExpensiseIds;
    /**
     * 人送其他费用金额
     */
    @TableField("sd_other_expensise_amt")
    private BigDecimal sdOtherExpensiseAmt;
    /**
     * 租户ID
     */
    @TableField("tenant_id")
    private Long tenantId;
    /**
     * 发运时间 ( 原下单时间 )
     */
    @TableField("order_date")
    private Date orderDate;
    /**
     * 回单时间
     */
    @TableField("receipt_date")
    private Date receiptDate;
    /**
     * 装车单状态：10-已发运、20-已回单、30-已运抵
     */
    @TableField("load_status")
    private String loadStatus;
    /**
     * 状态：0、新增 1、已出账单 2 、取消
     */
    private Integer status;
    /**
     * OTM标准价id
     */
    @TableField("sta_price_id")
    private Long staPriceId;
    /**
     * 修改时间
     */
    @TableField("gmt_modify")
    private Date gmtModify;
    /**
     * 创建时间
     */
    @TableField("gmt_create")
    private Date gmtCreate;
    /**
     * 其他费用
     */
    @TableField("else_price")
    private BigDecimal elsePrice;
    /**
     * 创建人
     */
    private Long creator;
    /**
     * 拥有人
     */
    private Long proprietor;
    /**
     * 0\系统 1\Excel
     */
    @TableField("source_sys")
    private Integer sourceSys;
    /**
     * 0\系统 1\Excel
     */
    @TableField("up_cus_num")
    private Integer upCusNum;
    /**
     * 合同价规则名称
     */
    @TableField("rule_name")
    private String ruleName;
    /**
     * 是否支付申请; 0-否, 1-是
     */
    @TableField("is_pay")
    private Integer isPay;
    /**
     * 支付申请单号
     */
    @TableField("pay_code")
    private String payCode;
    /**
     * 支付申请提交时间
     */
    @TableField("pay_date")
    private Date payDate;
    /**
     * 是否排款; 0-否, 1-部分, 2-全部
     */
    @TableField("is_arr_pay")
    private Integer isArrPay;
    /**
     * 排款单号
     */
    @TableField("arr_pay_code")
    private String arrPayCode;
    /**
     * 是否付款; 0-否, 1-部分, 2-全部
     */
    @TableField("is_payment")
    private Integer isPayment;
    /**
     * 付款确认时间时间
     */
    @TableField("payment_date")
    private Date paymentDate;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public Long getOrderDtlId() {
        return orderDtlId;
    }

    public void setOrderDtlId(Long orderDtlId) {
        this.orderDtlId = orderDtlId;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getVehicleClassifyId() {
        return vehicleClassifyId;
    }

    public void setVehicleClassifyId(String vehicleClassifyId) {
        this.vehicleClassifyId = vehicleClassifyId;
    }

    public String getVehicleTypeCode() {
        return vehicleTypeCode;
    }

    public void setVehicleTypeCode(String vehicleTypeCode) {
        this.vehicleTypeCode = vehicleTypeCode;
    }

    public String getWaybillId() {
        return waybillId;
    }

    public void setWaybillId(String waybillId) {
        this.waybillId = waybillId;
    }

    public String getWaybillDtlId() {
        return waybillDtlId;
    }

    public void setWaybillDtlId(String waybillDtlId) {
        this.waybillDtlId = waybillDtlId;
    }

    public String getCusWaybill() {
        return cusWaybill;
    }

    public void setCusWaybill(String cusWaybill) {
        this.cusWaybill = cusWaybill;
    }

    public String getCusOrderNo() {
        return cusOrderNo;
    }

    public void setCusOrderNo(String cusOrderNo) {
        this.cusOrderNo = cusOrderNo;
    }

    public String getVehicleTypeName() {
        return vehicleTypeName;
    }

    public void setVehicleTypeName(String vehicleTypeName) {
        this.vehicleTypeName = vehicleTypeName;
    }

    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    public String getStartAddr() {
        return startAddr;
    }

    public void setStartAddr(String startAddr) {
        this.startAddr = startAddr;
    }

    public String getStartProvince() {
        return startProvince;
    }

    public void setStartProvince(String startProvince) {
        this.startProvince = startProvince;
    }

    public String getStartCity() {
        return startCity;
    }

    public void setStartCity(String startCity) {
        this.startCity = startCity;
    }

    public String getStartCounty() {
        return startCounty;
    }

    public void setStartCounty(String startCounty) {
        this.startCounty = startCounty;
    }

    public String getStartName() {
        return startName;
    }

    public void setStartName(String startName) {
        this.startName = startName;
    }

    public String getEndProvince() {
        return endProvince;
    }

    public void setEndProvince(String endProvince) {
        this.endProvince = endProvince;
    }

    public String getEndCity() {
        return endCity;
    }

    public void setEndCity(String endCity) {
        this.endCity = endCity;
    }

    public String getEndCounty() {
        return endCounty;
    }

    public void setEndCounty(String endCounty) {
        this.endCounty = endCounty;
    }

    public String getEndAddr() {
        return endAddr;
    }

    public void setEndAddr(String endAddr) {
        this.endAddr = endAddr;
    }

    public String getEndName() {
        return endName;
    }

    public void setEndName(String endName) {
        this.endName = endName;
    }

    public String getContractType() {
        return contractType;
    }

    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public Long getQuoteId() {
        return quoteId;
    }

    public void setQuoteId(Long quoteId) {
        this.quoteId = quoteId;
    }

    public Long getPayerId() {
        return payerId;
    }

    public void setPayerId(Long payerId) {
        this.payerId = payerId;
    }

    public String getPayerName() {
        return payerName;
    }

    public void setPayerName(String payerName) {
        this.payerName = payerName;
    }

    public Long getPayeeId() {
        return payeeId;
    }

    public void setPayeeId(Long payeeId) {
        this.payeeId = payeeId;
    }

    public String getPayeeName() {
        return payeeName;
    }

    public void setPayeeName(String payeeName) {
        this.payeeName = payeeName;
    }

    public String getCiamsId() {
        return ciamsId;
    }

    public void setCiamsId(String ciamsId) {
        this.ciamsId = ciamsId;
    }

    public Long getDriverId() {
        return driverId;
    }

    public void setDriverId(Long driverId) {
        this.driverId = driverId;
    }

    public String getDriverName() {
        return driverName;
    }

    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    public Long getFleetId() {
        return fleetId;
    }

    public void setFleetId(Long fleetId) {
        this.fleetId = fleetId;
    }

    public String getFleetName() {
        return fleetName;
    }

    public void setFleetName(String fleetName) {
        this.fleetName = fleetName;
    }

    public BigDecimal getEstPrice() {
        return estPrice;
    }

    public void setEstPrice(BigDecimal estPrice) {
        this.estPrice = estPrice;
    }

    public BigDecimal getActualPrice() {
        return actualPrice;
    }

    public void setActualPrice(BigDecimal actualPrice) {
        this.actualPrice = actualPrice;
    }

    public BigDecimal getKilometre() {
        return kilometre;
    }

    public void setKilometre(BigDecimal kilometre) {
        this.kilometre = kilometre;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public BigDecimal getEstAmt() {
        return estAmt;
    }

    public void setEstAmt(BigDecimal estAmt) {
        this.estAmt = estAmt;
    }

    public BigDecimal getActualAmt() {
        return actualAmt;
    }

    public void setActualAmt(BigDecimal actualAmt) {
        this.actualAmt = actualAmt;
    }

    public BigDecimal getOilBaPay() {
        return oilBaPay;
    }

    public void setOilBaPay(BigDecimal oilBaPay) {
        this.oilBaPay = oilBaPay;
    }

    public BigDecimal getCashBaPay() {
        return cashBaPay;
    }

    public void setCashBaPay(BigDecimal cashBaPay) {
        this.cashBaPay = cashBaPay;
    }

    public BigDecimal getDeduct() {
        return deduct;
    }

    public void setDeduct(BigDecimal deduct) {
        this.deduct = deduct;
    }

    public Long getTransTypeId() {
        return transTypeId;
    }

    public void setTransTypeId(Long transTypeId) {
        this.transTypeId = transTypeId;
    }

    public String getTransTypeName() {
        return transTypeName;
    }

    public void setTransTypeName(String transTypeName) {
        this.transTypeName = transTypeName;
    }

    public BigDecimal getOilFill() {
        return oilFill;
    }

    public void setOilFill(BigDecimal oilFill) {
        this.oilFill = oilFill;
    }

    public String getPsupRemark() {
        return psupRemark;
    }

    public void setPsupRemark(String psupRemark) {
        this.psupRemark = psupRemark;
    }

    public String getSdOtherExpensiseIds() {
        return sdOtherExpensiseIds;
    }

    public void setSdOtherExpensiseIds(String sdOtherExpensiseIds) {
        this.sdOtherExpensiseIds = sdOtherExpensiseIds;
    }

    public BigDecimal getSdOtherExpensiseAmt() {
        return sdOtherExpensiseAmt;
    }

    public void setSdOtherExpensiseAmt(BigDecimal sdOtherExpensiseAmt) {
        this.sdOtherExpensiseAmt = sdOtherExpensiseAmt;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Date getOrderDate() {
        return orderDate;
    }

    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    public Date getReceiptDate() {
        return receiptDate;
    }

    public void setReceiptDate(Date receiptDate) {
        this.receiptDate = receiptDate;
    }

    public String getLoadStatus() {
        return loadStatus;
    }

    public void setLoadStatus(String loadStatus) {
        this.loadStatus = loadStatus;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getStaPriceId() {
        return staPriceId;
    }

    public void setStaPriceId(Long staPriceId) {
        this.staPriceId = staPriceId;
    }

    public Date getGmtModify() {
        return gmtModify;
    }

    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public BigDecimal getElsePrice() {
        return elsePrice;
    }

    public void setElsePrice(BigDecimal elsePrice) {
        this.elsePrice = elsePrice;
    }

    public Long getCreator() {
        return creator;
    }

    public void setCreator(Long creator) {
        this.creator = creator;
    }

    public Long getProprietor() {
        return proprietor;
    }

    public void setProprietor(Long proprietor) {
        this.proprietor = proprietor;
    }

    public Integer getSourceSys() {
        return sourceSys;
    }

    public void setSourceSys(Integer sourceSys) {
        this.sourceSys = sourceSys;
    }

    public Integer getUpCusNum() {
        return upCusNum;
    }

    public void setUpCusNum(Integer upCusNum) {
        this.upCusNum = upCusNum;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public Integer getIsPay() {
        return isPay;
    }

    public void setIsPay(Integer isPay) {
        this.isPay = isPay;
    }

    public String getPayCode() {
        return payCode;
    }

    public void setPayCode(String payCode) {
        this.payCode = payCode;
    }

    public Date getPayDate() {
        return payDate;
    }

    public void setPayDate(Date payDate) {
        this.payDate = payDate;
    }

    public Integer getIsArrPay() {
        return isArrPay;
    }

    public void setIsArrPay(Integer isArrPay) {
        this.isArrPay = isArrPay;
    }

    public String getArrPayCode() {
        return arrPayCode;
    }

    public void setArrPayCode(String arrPayCode) {
        this.arrPayCode = arrPayCode;
    }

    public Integer getIsPayment() {
        return isPayment;
    }

    public void setIsPayment(Integer isPayment) {
        this.isPayment = isPayment;
    }

    public Date getPaymentDate() {
        return paymentDate;
    }

    public void setPaymentDate(Date paymentDate) {
        this.paymentDate = paymentDate;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "FeePayable{" +
                "id=" + id +
                ", orderCode='" + orderCode + '\'' +
                ", orderDtlId=" + orderDtlId +
                ", typeId=" + typeId +
                ", typeName='" + typeName + '\'' +
                ", vehicleClassifyId='" + vehicleClassifyId + '\'' +
                ", vehicleTypeCode='" + vehicleTypeCode + '\'' +
                ", waybillId='" + waybillId + '\'' +
                ", waybillDtlId='" + waybillDtlId + '\'' +
                ", cusWaybill='" + cusWaybill + '\'' +
                ", cusOrderNo='" + cusOrderNo + '\'' +
                ", vehicleTypeName='" + vehicleTypeName + '\'' +
                ", vin='" + vin + '\'' +
                ", startAddr='" + startAddr + '\'' +
                ", startProvince='" + startProvince + '\'' +
                ", startCity='" + startCity + '\'' +
                ", startCounty='" + startCounty + '\'' +
                ", startName='" + startName + '\'' +
                ", endProvince='" + endProvince + '\'' +
                ", endCity='" + endCity + '\'' +
                ", endCounty='" + endCounty + '\'' +
                ", endAddr='" + endAddr + '\'' +
                ", endName='" + endName + '\'' +
                ", contractType='" + contractType + '\'' +
                ", contractCode='" + contractCode + '\'' +
                ", quoteId=" + quoteId +
                ", payerId=" + payerId +
                ", payerName='" + payerName + '\'' +
                ", payeeId=" + payeeId +
                ", payeeName='" + payeeName + '\'' +
                ", ciamsId='" + ciamsId + '\'' +
                ", driverId=" + driverId +
                ", driverName='" + driverName + '\'' +
                ", fleetId=" + fleetId +
                ", fleetName='" + fleetName + '\'' +
                ", estPrice=" + estPrice +
                ", actualPrice=" + actualPrice +
                ", kilometre=" + kilometre +
                ", num=" + num +
                ", estAmt=" + estAmt +
                ", actualAmt=" + actualAmt +
                ", oilBaPay=" + oilBaPay +
                ", cashBaPay=" + cashBaPay +
                ", deduct=" + deduct +
                ", transTypeId=" + transTypeId +
                ", transTypeName='" + transTypeName + '\'' +
                ", oilFill=" + oilFill +
                ", psupRemark='" + psupRemark + '\'' +
                ", tenantId=" + tenantId +
                ", orderDate=" + orderDate +
                ", receiptDate=" + receiptDate +
                ", loadStatus='" + loadStatus + '\'' +
                ", status=" + status +
                ", staPriceId=" + staPriceId +
                ", gmtModify=" + gmtModify +
                ", gmtCreate=" + gmtCreate +
                ", elsePrice=" + elsePrice +
                ", creator=" + creator +
                ", proprietor=" + proprietor +
                ", sourceSys=" + sourceSys +
                ", upCusNum=" + upCusNum +
                ", ruleName='" + ruleName + '\'' +
                ", isPay=" + isPay +
                ", payCode='" + payCode + '\'' +
                ", payDate=" + payDate +
                ", isArrPay=" + isArrPay +
                ", arrPayCode='" + arrPayCode + '\'' +
                ", isPayment=" + isPayment +
                ", paymentDate=" + paymentDate +
                '}';
    }
}
